﻿Public Class DseparacionVentaDetalle

    Public Shared Function AñadirSeparacion(ByVal descEmpresa As String, ByVal pSeparacionVentaDetalle As EseparacionVentaDetalle) As Boolean
        Dim resultado As Boolean = False

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_separacionVentaDetalle_addSeparacion", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVentaDetalle.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVentaDetalle.idEtapa
                cmd.Parameters.Add("@idSeparacionVenta", SqlDbType.Int).Value = pSeparacionVentaDetalle.idSeparacionVenta
                cmd.Parameters.Add("@idEdificio", SqlDbType.Int).Value = pSeparacionVentaDetalle.idEdificio
                cmd.Parameters.Add("@idModelo", SqlDbType.Int).Value = pSeparacionVentaDetalle.idModelo
                cmd.Parameters.Add("@idUndInmob", SqlDbType.Int).Value = pSeparacionVentaDetalle.idUndInmob
                cmd.Parameters.Add("@idTpoInmueble", SqlDbType.Int).Value = pSeparacionVentaDetalle.idTpoInmueble
                cmd.Parameters.Add("@dscto", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.dscto
                cmd.Parameters.Add("@dsctoMonto", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.dsctoMonto
                cmd.Parameters.Add("@valorVenta", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.valorVenta
                cmd.Parameters.Add("@fchPago", SqlDbType.Char, 10).Value = pSeparacionVentaDetalle.fchPago
                cmd.Parameters.Add("@precioVenta", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.precioVenta
                cmd.Parameters.Add("@separacion", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.separacion
                cmd.Parameters.Add("@ctaInicial", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.ctaInicial
                cmd.Parameters.Add("@saldoFinanciar", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.saldoFinanciar
                cmd.Parameters.Add("@idMoneda", SqlDbType.Int).Value = pSeparacionVentaDetalle.idMoneda
                cmd.Parameters.Add("@idFormaPago", SqlDbType.Int).Value = pSeparacionVentaDetalle.idFormaPago
                cmd.Parameters.Add("@idEntidadFin", SqlDbType.Int).Value = pSeparacionVentaDetalle.idEntidadFin
                cmd.Parameters.Add("@idCuenta", SqlDbType.Int).Value = pSeparacionVentaDetalle.idCuenta
                cmd.Parameters.Add("@numOperacion", SqlDbType.Char, 50).Value = pSeparacionVentaDetalle.numOperacion
                cmd.Parameters.Add("@pagoScaneado", SqlDbType.Text).Value = pSeparacionVentaDetalle.pagoScaneado
                cmd.Parameters.Add("@idUsuario", SqlDbType.Int).Value = pSeparacionVentaDetalle.idUsuario
                cmd.Parameters.Add("@techopropio", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.techopropio
                cmd.Parameters.Add("@fechaTP", SqlDbType.Char, 10).Value = pSeparacionVentaDetalle.FechaTP
                'cmd.Parameters.Add("@tipoTP", SqlDbType.Int).Value = pSeparacionVentaDetalle.TipoTP
                'cmd.Parameters.Add("@fechaVencTP", SqlDbType.Char, 10).Value = pSeparacionVentaDetalle.FechaVencTP
                cmd.Parameters.Add("@estadoTP", SqlDbType.Int).Value = pSeparacionVentaDetalle.EstadoTP

                Try
                    cn.Open()
                    cmd.ExecuteNonQuery()
                    resultado = True
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return resultado
    End Function
    Public Shared Function AñadirVenta(ByVal descEmpresa As String, ByVal pSeparacionVentaDetalle As EseparacionVentaDetalle) As Boolean
        Dim resultado As Boolean = False

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_separacionVentaDetalle_addVenta", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVentaDetalle.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVentaDetalle.idEtapa
                cmd.Parameters.Add("@idSeparacionVenta", SqlDbType.Int).Value = pSeparacionVentaDetalle.idSeparacionVenta
                cmd.Parameters.Add("@idEdificio", SqlDbType.Int).Value = pSeparacionVentaDetalle.idEdificio
                cmd.Parameters.Add("@idModelo", SqlDbType.Int).Value = pSeparacionVentaDetalle.idModelo
                cmd.Parameters.Add("@idUndInmob", SqlDbType.Int).Value = pSeparacionVentaDetalle.idUndInmob
                cmd.Parameters.Add("@idTpoInmueble", SqlDbType.Int).Value = pSeparacionVentaDetalle.idTpoInmueble
                cmd.Parameters.Add("@dscto", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.dscto
                cmd.Parameters.Add("@dsctoMonto", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.dsctoMonto
                cmd.Parameters.Add("@valorVenta", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.valorVenta
                cmd.Parameters.Add("@fchPago", SqlDbType.Char, 10).Value = pSeparacionVentaDetalle.fchPago
                cmd.Parameters.Add("@precioVenta", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.precioVenta
                cmd.Parameters.Add("@separacion", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.separacion
                cmd.Parameters.Add("@ctaInicial", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.ctaInicial
                cmd.Parameters.Add("@saldoFinanciar", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.saldoFinanciar
                cmd.Parameters.Add("@idMoneda", SqlDbType.Int).Value = pSeparacionVentaDetalle.idMoneda
                cmd.Parameters.Add("@idFormaPago", SqlDbType.Int).Value = pSeparacionVentaDetalle.idFormaPago
                cmd.Parameters.Add("@idEntidadFin", SqlDbType.Int).Value = pSeparacionVentaDetalle.idEntidadFin
                cmd.Parameters.Add("@idCuenta", SqlDbType.Int).Value = pSeparacionVentaDetalle.idCuenta
                cmd.Parameters.Add("@numOperacion", SqlDbType.Char, 50).Value = pSeparacionVentaDetalle.numOperacion
                cmd.Parameters.Add("@pagoScaneado", SqlDbType.Text).Value = pSeparacionVentaDetalle.pagoScaneado
                cmd.Parameters.Add("@idUsuario", SqlDbType.Int).Value = pSeparacionVentaDetalle.idUsuario
                cmd.Parameters.Add("@techopropio", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.techopropio
                cmd.Parameters.Add("@fechaTP", SqlDbType.Char, 10).Value = pSeparacionVentaDetalle.FechaTP
                cmd.Parameters.Add("@estadoTP", SqlDbType.Int).Value = pSeparacionVentaDetalle.EstadoTP
                Try
                    cn.Open()
                    cmd.ExecuteNonQuery()
                    resultado = True
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return resultado
    End Function
    Public Shared Function Editar(ByVal descEmpresa As String, ByVal pSeparacionVentaDetalle As EseparacionVentaDetalle) As Boolean
        Dim resultado As Boolean = False

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_separacionVentaDetalle_edit", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVentaDetalle.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVentaDetalle.idEtapa
                cmd.Parameters.Add("@idSeparacionVenta", SqlDbType.Int).Value = pSeparacionVentaDetalle.idSeparacionVenta
                cmd.Parameters.Add("@idSeparacionVentaDetalle", SqlDbType.Int).Value = pSeparacionVentaDetalle.idSeparacionVentaDetalle
                cmd.Parameters.Add("@tpoGestion", SqlDbType.Int).Value = pSeparacionVentaDetalle.tpoGestion
                cmd.Parameters.Add("@fchPago", SqlDbType.Char, 10).Value = pSeparacionVentaDetalle.fchPago
                cmd.Parameters.Add("@separacion", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.separacion
                cmd.Parameters.Add("@ctaInicial", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.ctaInicial
                cmd.Parameters.Add("@saldoFinanciar", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.saldoFinanciar
                cmd.Parameters.Add("@numOperacion", SqlDbType.VarChar, 55).Value = pSeparacionVentaDetalle.numOperacion
                cmd.Parameters.Add("@idUsuario", SqlDbType.Int).Value = pSeparacionVentaDetalle.idUsuario
                Try
                    cn.Open()
                    cmd.ExecuteNonQuery()
                    resultado = True
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return resultado
    End Function
    Public Shared Function EditarConvertirSeparacionVenta(ByVal descEmpresa As String, ByVal pSeparacionVentaDetalle As EseparacionVentaDetalle) As Boolean
        Dim resultado As Boolean = False

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_separacionVentaDetalle_editConvertirSeparacionVenta", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVentaDetalle.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVentaDetalle.idEtapa
                cmd.Parameters.Add("@idSeparacionVenta", SqlDbType.Int).Value = pSeparacionVentaDetalle.idSeparacionVenta
                cmd.Parameters.Add("@separacion", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.separacion
                cmd.Parameters.Add("@ctaInicial", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.ctaInicial
                cmd.Parameters.Add("@saldoFinanciar", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.saldoFinanciar
                cmd.Parameters.Add("@numOperacion", SqlDbType.VarChar, 55).Value = pSeparacionVentaDetalle.numOperacion
                cmd.Parameters.Add("@idUsuario", SqlDbType.Int).Value = pSeparacionVentaDetalle.idUsuario
                Try
                    cn.Open()
                    cmd.ExecuteNonQuery()
                    resultado = True
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return resultado
    End Function
    Public Shared Function Filtrar(ByVal descEmpresa As String, ByVal pSeparacionVenta As EseparacionVenta) As List(Of EseparacionVentaDetalle)
        Dim separacionVentaDetalles As List(Of EseparacionVentaDetalle) = Nothing

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_separacionVentaDetalle_fil", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVenta.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVenta.idEtapa
                cmd.Parameters.Add("@idSeparacionVenta", SqlDbType.Int).Value = pSeparacionVenta.idSeparacionVenta
                Try
                    cn.Open()
                    Using dr As SqlDataReader = cmd.ExecuteReader(CommandBehavior.SingleResult Or CommandBehavior.CloseConnection)
                        If dr.HasRows Then
                            separacionVentaDetalles = New List(Of EseparacionVentaDetalle)
                            Dim separacionVentaDetalle As EseparacionVentaDetalle = Nothing
                            Do While dr.Read
                                separacionVentaDetalle = New EseparacionVentaDetalle( _
                                    dr.GetInt32(dr.GetOrdinal("idProyecto")), _
                                    dr.GetInt32(dr.GetOrdinal("idEtapa")), _
                                    dr.GetInt32(dr.GetOrdinal("idSeparacionVenta")), _
                                    dr.GetInt32(dr.GetOrdinal("idSeparacionVentaDetalle")), _
                                    dr.GetInt32(dr.GetOrdinal("idEdificio")), _
                                    dr.GetString(dr.GetOrdinal("nomEdiMzn")), _
                                    dr.GetInt32(dr.GetOrdinal("idModelo")), _
                                    dr.GetString(dr.GetOrdinal("nomModelo")), _
                                    dr.GetInt32(dr.GetOrdinal("idUndInmob")), _
                                    dr.GetString(dr.GetOrdinal("nroInmueble")), _
                                    dr.GetInt32(dr.GetOrdinal("idTpoInmueble")), _
                                    dr.GetString(dr.GetOrdinal("descTpoInmueble")), _
                                    dr.GetString(dr.GetOrdinal("fchPago")), _
                                    dr.GetDecimal(dr.GetOrdinal("precioVenta")), _
                                    dr.GetDecimal(dr.GetOrdinal("separacion")), _
                                    dr.GetDecimal(dr.GetOrdinal("ctaInicial")), _
                                    dr.GetDecimal(dr.GetOrdinal("saldoFinanciar")), _
                                    dr.GetInt32(dr.GetOrdinal("idMoneda")), _
                                    dr.GetInt32(dr.GetOrdinal("idFormaPago")), _
                                    dr.GetInt32(dr.GetOrdinal("idEntidadFin")), _
                                    dr.GetInt32(dr.GetOrdinal("idCuenta")), _
                                    dr.GetString(dr.GetOrdinal("numOperacion")), _
                                    dr.GetDecimal(dr.GetOrdinal("techopropio")), _
                                    dr.GetString(dr.GetOrdinal("fchTechoPropio")), _
                                    dr.GetInt32(dr.GetOrdinal("idTpoTechoPropio")), _
                                    dr.GetString(dr.GetOrdinal("fchVencTechoPropio")), _
                                    dr.GetInt32(dr.GetOrdinal("idEstadoTechoPropio")))
                                separacionVentaDetalles.Add(separacionVentaDetalle)
                            Loop
                            dr.Close()
                        End If
                    End Using
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return separacionVentaDetalles
    End Function
    Public Shared Function Inmuebles(ByVal descEmpresa As String, ByVal idProyecto As Int32, ByVal idEtapa As Int32, ByVal idSeparacionVenta As Int32) As List(Of EseparacionVentaDetalle)
        Dim Inmuebless As List(Of EseparacionVentaDetalle) = Nothing

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_Inmuebles_sel", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = idEtapa
                cmd.Parameters.Add("@idSeparacionVenta", SqlDbType.Int).Value = idSeparacionVenta
                Try
                    cn.Open()
                    Using dr As SqlDataReader = cmd.ExecuteReader(CommandBehavior.SingleResult Or CommandBehavior.CloseConnection)
                        If dr.HasRows Then
                            Inmuebless = New List(Of EseparacionVentaDetalle)
                            Dim Inmueble As EseparacionVentaDetalle = Nothing
                            Do While dr.Read
                                Inmueble = New EseparacionVentaDetalle( _
                                    dr.GetString(dr.GetOrdinal("Inmuebles")), _
                                    dr.GetString(dr.GetOrdinal("Cliente")), _
                                    dr.GetString(dr.GetOrdinal("Vendedor")))
                                Inmuebless.Add(Inmueble)
                            Loop
                            dr.Close()
                        End If
                    End Using
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return Inmuebless
    End Function
 
    Public Shared Function AñadirSeparacionTemporal(ByVal descEmpresa As String, ByVal pSeparacionVentaDetalle As EseparacionVentaDetalle) As Boolean
        Dim resultado As Boolean = False

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_separacionVentaDetalleTemp_addSeparacion", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVentaDetalle.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVentaDetalle.idEtapa
                cmd.Parameters.Add("@idSeparacionVenta", SqlDbType.Int).Value = pSeparacionVentaDetalle.idSeparacionVenta
                cmd.Parameters.Add("@idEdificio", SqlDbType.Int).Value = pSeparacionVentaDetalle.idEdificio
                cmd.Parameters.Add("@idModelo", SqlDbType.Int).Value = pSeparacionVentaDetalle.idModelo
                cmd.Parameters.Add("@idUndInmob", SqlDbType.Int).Value = pSeparacionVentaDetalle.idUndInmob
                cmd.Parameters.Add("@idTpoInmueble", SqlDbType.Int).Value = pSeparacionVentaDetalle.idTpoInmueble
                cmd.Parameters.Add("@valorVenta", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.valorVenta
                cmd.Parameters.Add("@fchPago", SqlDbType.Char, 10).Value = pSeparacionVentaDetalle.fchPago
                cmd.Parameters.Add("@precioVenta", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.precioVenta
                cmd.Parameters.Add("@separacion", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.separacion
                cmd.Parameters.Add("@ctaInicial", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.ctaInicial
                cmd.Parameters.Add("@saldoFinanciar", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.saldoFinanciar
                cmd.Parameters.Add("@idMoneda", SqlDbType.Int).Value = pSeparacionVentaDetalle.idMoneda
                cmd.Parameters.Add("@idFormaPago", SqlDbType.Int).Value = pSeparacionVentaDetalle.idFormaPago
                cmd.Parameters.Add("@idEntidadFin", SqlDbType.Int).Value = pSeparacionVentaDetalle.idEntidadFin
                cmd.Parameters.Add("@idCuenta", SqlDbType.Int).Value = pSeparacionVentaDetalle.idCuenta
                cmd.Parameters.Add("@numOperacion", SqlDbType.Char, 5).Value = pSeparacionVentaDetalle.numOperacion
                cmd.Parameters.Add("@pagoScaneado", SqlDbType.Text).Value = pSeparacionVentaDetalle.pagoScaneado
                cmd.Parameters.Add("@idUsuario", SqlDbType.Int).Value = pSeparacionVentaDetalle.idUsuario
                'cmd.Parameters.Add("@codigoGenerado", SqlDbType.Char, 14).Direction = ParameterDirection.Output
                Try
                    cn.Open()
                    cmd.ExecuteNonQuery()
                    'codigoGenerado = Convert.ToString(cmd.Parameters("@codigoGenerado").Value)
                    resultado = True
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return resultado
    End Function
    Public Shared Function AñadirVentaTemporal(ByVal descEmpresa As String, ByVal pSeparacionVentaDetalle As EseparacionVentaDetalle) As Boolean
        Dim resultado As Boolean = False

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_separacionVentaDetalleTemp_addVenta", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVentaDetalle.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVentaDetalle.idEtapa
                cmd.Parameters.Add("@idSeparacionVenta", SqlDbType.Int).Value = pSeparacionVentaDetalle.idSeparacionVenta
                cmd.Parameters.Add("@idEdificio", SqlDbType.Int).Value = pSeparacionVentaDetalle.idEdificio
                cmd.Parameters.Add("@idModelo", SqlDbType.Int).Value = pSeparacionVentaDetalle.idModelo
                cmd.Parameters.Add("@idUndInmob", SqlDbType.Int).Value = pSeparacionVentaDetalle.idUndInmob
                cmd.Parameters.Add("@idTpoInmueble", SqlDbType.Int).Value = pSeparacionVentaDetalle.idTpoInmueble
                cmd.Parameters.Add("@valorVenta", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.valorVenta
                cmd.Parameters.Add("@fchPago", SqlDbType.Char, 10).Value = pSeparacionVentaDetalle.fchPago
                cmd.Parameters.Add("@precioVenta", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.precioVenta
                cmd.Parameters.Add("@separacion", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.separacion
                cmd.Parameters.Add("@ctaInicial", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.ctaInicial
                cmd.Parameters.Add("@saldoFinanciar", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.saldoFinanciar
                cmd.Parameters.Add("@idMoneda", SqlDbType.Int).Value = pSeparacionVentaDetalle.idMoneda
                cmd.Parameters.Add("@idFormaPago", SqlDbType.Int).Value = pSeparacionVentaDetalle.idFormaPago
                cmd.Parameters.Add("@idEntidadFin", SqlDbType.Int).Value = pSeparacionVentaDetalle.idEntidadFin
                cmd.Parameters.Add("@idCuenta", SqlDbType.Int).Value = pSeparacionVentaDetalle.idCuenta
                cmd.Parameters.Add("@numOperacion", SqlDbType.Char, 5).Value = pSeparacionVentaDetalle.numOperacion
                cmd.Parameters.Add("@pagoScaneado", SqlDbType.Text).Value = pSeparacionVentaDetalle.pagoScaneado
                cmd.Parameters.Add("@idUsuario", SqlDbType.Int).Value = pSeparacionVentaDetalle.idUsuario
                Try
                    cn.Open()
                    cmd.ExecuteNonQuery()
                    resultado = True
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return resultado
    End Function
    Public Shared Function EditarTemporal(ByVal descEmpresa As String, ByVal pSeparacionVentaDetalle As EseparacionVentaDetalle) As Boolean
        Dim resultado As Boolean = False

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_separacionVentaDetalleTemp_edit", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVentaDetalle.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVentaDetalle.idEtapa
                cmd.Parameters.Add("@idSeparacionVenta", SqlDbType.Int).Value = pSeparacionVentaDetalle.idSeparacionVenta
                cmd.Parameters.Add("@idSeparacionVentaDetalle", SqlDbType.Int).Value = pSeparacionVentaDetalle.idSeparacionVentaDetalle
                cmd.Parameters.Add("@tpoGestion", SqlDbType.Int).Value = pSeparacionVentaDetalle.tpoGestion
                cmd.Parameters.Add("@fchPago", SqlDbType.Char, 10).Value = pSeparacionVentaDetalle.fchPago
                cmd.Parameters.Add("@separacion", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.separacion
                cmd.Parameters.Add("@ctaInicial", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.ctaInicial
                cmd.Parameters.Add("@saldoFinanciar", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetalle.saldoFinanciar
                cmd.Parameters.Add("@numOperacion", SqlDbType.VarChar, 55).Value = pSeparacionVentaDetalle.numOperacion
                cmd.Parameters.Add("@idUsuario", SqlDbType.Int).Value = pSeparacionVentaDetalle.idUsuario
                Try
                    cn.Open()
                    cmd.ExecuteNonQuery()
                    resultado = True
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return resultado
    End Function
    Public Shared Function FiltrarTemporal(ByVal descEmpresa As String, ByVal pSeparacionVenta As EseparacionVenta) As List(Of EseparacionVentaDetalle)
        Dim separacionVentaDetalles As List(Of EseparacionVentaDetalle) = Nothing

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_separacionVentaDetalleTemp_fil", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVenta.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVenta.idEtapa
                cmd.Parameters.Add("@idSeparacionVenta", SqlDbType.Int).Value = pSeparacionVenta.idSeparacionVenta
                Try
                    cn.Open()
                    Using dr As SqlDataReader = cmd.ExecuteReader(CommandBehavior.SingleResult Or CommandBehavior.CloseConnection)
                        If dr.HasRows Then
                            separacionVentaDetalles = New List(Of EseparacionVentaDetalle)
                            Dim separacionVentaDetalle As EseparacionVentaDetalle = Nothing
                            Do While dr.Read
                                separacionVentaDetalle = New EseparacionVentaDetalle( _
                                    dr.GetInt32(dr.GetOrdinal("idProyecto")), _
                                    dr.GetInt32(dr.GetOrdinal("idEtapa")), _
                                    dr.GetInt32(dr.GetOrdinal("idSeparacionVenta")), _
                                    dr.GetInt32(dr.GetOrdinal("idSeparacionVentaDetalle")), _
                                    dr.GetInt32(dr.GetOrdinal("idEdificio")), _
                                    dr.GetString(dr.GetOrdinal("nomEdiMzn")), _
                                    dr.GetInt32(dr.GetOrdinal("idModelo")), _
                                    dr.GetString(dr.GetOrdinal("nomModelo")), _
                                    dr.GetInt32(dr.GetOrdinal("idUndInmob")), _
                                    dr.GetString(dr.GetOrdinal("nroInmueble")), _
                                    dr.GetInt32(dr.GetOrdinal("idTpoInmueble")), _
                                    dr.GetString(dr.GetOrdinal("descTpoInmueble")), _
                                    dr.GetString(dr.GetOrdinal("fchPago")), _
                                    dr.GetDecimal(dr.GetOrdinal("precioVenta")), _
                                    dr.GetDecimal(dr.GetOrdinal("separacion")), _
                                    dr.GetDecimal(dr.GetOrdinal("ctaInicial")), _
                                    dr.GetDecimal(dr.GetOrdinal("saldoFinanciar")), _
                                    dr.GetInt32(dr.GetOrdinal("idMoneda")), _
                                    dr.GetInt32(dr.GetOrdinal("idFormaPago")), _
                                    dr.GetInt32(dr.GetOrdinal("idEntidadFin")), _
                                    dr.GetInt32(dr.GetOrdinal("idCuenta")), _
                                    dr.GetString(dr.GetOrdinal("numOperacion")), _
                                    dr.GetDecimal(dr.GetOrdinal("techopropio")), _
                                    dr.GetString(dr.GetOrdinal("fchTechoPropio")), _
                                    dr.GetInt32(dr.GetOrdinal("idTpoTechoPropio")), _
                                    dr.GetString(dr.GetOrdinal("fchVencTechoPropio")), _
                                    dr.GetInt32(dr.GetOrdinal("idEstadoTechoPropio")))
                                separacionVentaDetalles.Add(separacionVentaDetalle)
                            Loop
                            dr.Close()
                        End If
                    End Using
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return separacionVentaDetalles
    End Function
    
    ''' <summary>  
    ''' AUTOR           :     JULIO HR 
    ''' FECHA           :     16/12/2009
    ''' AUTOR MOD.      :     JULIO HR
    ''' FEC. MOD.       :     16/12/2009
    ''' DESCRIPCION     :     LISTA LOS INMUEBLES ESPECIFICADOS
    ''' </summary>
    ''' <param name="idProyecto">   id del  proyecto                    </param>
    ''' <param name="idEtapa">      id de la etapa                      </param>
    ''' <returns>
    '''         Lista los inmuebles especificados, y devuelve la descripcion del tipo de moneda del primer registro encontrado
    ''' </returns>
    Public Shared Function consultaInmuebles(ByVal descEmpresa As String, ByVal pUnidInmobiliaria As EunidInmobiliarias) As List(Of EseparacionVentaDetalle)
        Dim separacionVentaDetalles As List(Of EseparacionVentaDetalle) = Nothing

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_separacionVentaDetalle_buscXInmuebles", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pUnidInmobiliaria.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pUnidInmobiliaria.idEtapa
                cmd.Parameters.Add("@inmuebles", SqlDbType.NVarChar, 1000).Value = pUnidInmobiliaria.inmuebles
                Try
                    cn.Open()
                    Using dr As SqlDataReader = cmd.ExecuteReader(CommandBehavior.SingleResult Or CommandBehavior.CloseConnection)
                        If dr.HasRows Then
                            separacionVentaDetalles = New List(Of EseparacionVentaDetalle)
                            Dim separacionVentaDetalle As EseparacionVentaDetalle = Nothing
                            Do While dr.Read
                                separacionVentaDetalle = New EseparacionVentaDetalle( _
                                    dr.GetInt32(dr.GetOrdinal("idProyecto")), _
                                    dr.GetInt32(dr.GetOrdinal("idEtapa")), _
                                    dr.GetInt32(dr.GetOrdinal("idEdiMzn")), _
                                    dr.GetString(dr.GetOrdinal("descEdiMzn")), _
                                    dr.GetInt32(dr.GetOrdinal("idModelo")), _
                                    dr.GetString(dr.GetOrdinal("descModelo")), _
                                    dr.GetInt32(dr.GetOrdinal("idUndInmob")), _
                                    dr.GetString(dr.GetOrdinal("descUndInmob")), _
                                    dr.GetInt32(dr.GetOrdinal("idTpoInmueble")), _
                                    dr.GetString(dr.GetOrdinal("descTpoInmueble")), _
                                    dr.GetDecimal(dr.GetOrdinal("valorVenta")), _
                                    dr.GetDecimal(dr.GetOrdinal("precioVenta")), _
                                    dr.GetDecimal(dr.GetOrdinal("separacion")), _
                                    dr.GetDecimal(dr.GetOrdinal("ctaInicial")), _
                                    dr.GetDecimal(dr.GetOrdinal("saldoFinanciar")), _
                                    dr.GetDecimal(dr.GetOrdinal("montoTechopropio")), _
                                    dr.GetString(dr.GetOrdinal("fchTechoPropio")), _
                                    dr.GetInt32(dr.GetOrdinal("EstadoTechoPropio")))
                                separacionVentaDetalles.Add(separacionVentaDetalle)
                            Loop
                            dr.Close()
                        End If
                    End Using
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return separacionVentaDetalles
    End Function
    Public Shared Function consultaInmueble(ByVal descEmpresa As String, ByVal pUnidInmobiliaria As EunidInmobiliarias) As EseparacionVentaDetalle
        Dim separacionVentaDetalle As EseparacionVentaDetalle = Nothing

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_separacionVentaDetalle_buscXInmuebles", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pUnidInmobiliaria.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pUnidInmobiliaria.idEtapa
                cmd.Parameters.Add("@inmuebles", SqlDbType.NVarChar, 1000).Value = pUnidInmobiliaria.inmuebles
                Try
                    cn.Open()
                    Using dr As SqlDataReader = cmd.ExecuteReader(CommandBehavior.SingleResult Or CommandBehavior.CloseConnection)
                        If dr.HasRows Then
                            Do While dr.Read
                                separacionVentaDetalle = New EseparacionVentaDetalle( _
                                    dr.GetInt32(dr.GetOrdinal("idProyecto")), _
                                    dr.GetInt32(dr.GetOrdinal("idEtapa")), _
                                    dr.GetInt32(dr.GetOrdinal("idEdiMzn")), _
                                    dr.GetString(dr.GetOrdinal("descEdiMzn")), _
                                    dr.GetInt32(dr.GetOrdinal("idModelo")), _
                                    dr.GetString(dr.GetOrdinal("descModelo")), _
                                    dr.GetInt32(dr.GetOrdinal("idUndInmob")), _
                                    dr.GetString(dr.GetOrdinal("descUndInmob")), _
                                    dr.GetInt32(dr.GetOrdinal("idTpoInmueble")), _
                                    dr.GetString(dr.GetOrdinal("descTpoInmueble")), _
                                    dr.GetDecimal(dr.GetOrdinal("valorVenta")), _
                                    dr.GetDecimal(dr.GetOrdinal("precioVenta")), _
                                    dr.GetDecimal(dr.GetOrdinal("separacion")), _
                                    dr.GetDecimal(dr.GetOrdinal("ctaInicial")), _
                                    dr.GetDecimal(dr.GetOrdinal("saldoFinanciar")))
                            Loop
                            dr.Close()
                        End If
                    End Using
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return separacionVentaDetalle
    End Function
    Public Shared Function EditarNroPartida(ByVal descEmpresa As String, ByVal pSeparacionVentaDetalle As EseparacionVentaDetalle) As Boolean
        Dim resultado As Boolean = False

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_separacionVentaDetalleNroPartida_edit", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVentaDetalle.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVentaDetalle.idEtapa
                cmd.Parameters.Add("@idSeparacionVenta", SqlDbType.Int).Value = pSeparacionVentaDetalle.idSeparacionVenta
                cmd.Parameters.Add("@idSeparacionVentaDetalle", SqlDbType.Int).Value = pSeparacionVentaDetalle.idSeparacionVentaDetalle
                cmd.Parameters.Add("@nroPartida", SqlDbType.VarChar, 55).Value = pSeparacionVentaDetalle.nroPartida
                cmd.Parameters.Add("@idUsuario", SqlDbType.Int).Value = pSeparacionVentaDetalle.idUsuario
                Try
                    cn.Open()
                    cmd.ExecuteNonQuery()
                    resultado = True
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return resultado
    End Function

    '-------   REPORTE VENDEDOR - COMISION SEPARACION -------'
    Public Shared Function seleccionar_selXVendedorComisionSeparacion(ByVal descEmpresa As String, ByVal pSeparacionVenta As EseparacionVentaDetalle, ByVal filtro As String) As List(Of EseparacionVentaDetalle)
        Dim vendedorComisiones As List(Of EseparacionVentaDetalle) = Nothing

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_separacionVenta_selXVendedorComisionSeparacion", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVenta.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVenta.idEtapa
                cmd.Parameters.Add("@filtro", SqlDbType.VarChar, 55).Value = filtro
                Try
                    cn.Open()
                    Using dr As SqlDataReader = cmd.ExecuteReader(CommandBehavior.SingleResult Or CommandBehavior.CloseConnection)
                        If dr.HasRows Then
                            vendedorComisiones = New List(Of EseparacionVentaDetalle)
                            Dim vendedorComision As EseparacionVentaDetalle = Nothing
                            Do While dr.Read
                                vendedorComision = New EseparacionVentaDetalle( _
                                    dr.GetInt64(dr.GetOrdinal("correlativo")), _
                                    dr.GetInt32(dr.GetOrdinal("idProyecto")), _
                                    dr.GetInt32(dr.GetOrdinal("idEtapa")), _
                                    dr.GetInt32(dr.GetOrdinal("idSeparacionVenta")), _
                                    dr.GetInt32(dr.GetOrdinal("idSeparacionVentaDetalle")), _
                                    dr.GetInt32(dr.GetOrdinal("idVendedor")), _
                                    dr.GetString(dr.GetOrdinal("nombre")), _
                                    dr.GetString(dr.GetOrdinal("apePaterno")), _
                                    dr.GetString(dr.GetOrdinal("apeMaterno")), _
                                    dr.GetInt32(dr.GetOrdinal("idTpoInmueble")), _
                                    dr.GetString(dr.GetOrdinal("descTpoInmueble")), _
                                    dr.GetInt32(dr.GetOrdinal("idEdiMzn")), _
                                    dr.GetString(dr.GetOrdinal("nomEdiMzn")), _
                                    dr.GetInt32(dr.GetOrdinal("idModelo")), _
                                    dr.GetString(dr.GetOrdinal("nomModelo")), _
                                    dr.GetString(dr.GetOrdinal("nroInmueble")), _
                                    dr.GetDecimal(dr.GetOrdinal("valorVenta")), _
                                    dr.GetDecimal(dr.GetOrdinal("comision")))
                                vendedorComisiones.Add(vendedorComision)
                            Loop
                            dr.Close()
                        End If
                    End Using
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return vendedorComisiones
    End Function
    Public Shared Function seleccionar_selXVendedorComisionVentas(ByVal descEmpresa As String, ByVal pSeparacionVenta As EseparacionVentaDetalle, ByVal filtro As String) As List(Of EseparacionVentaDetalle)
        Dim vendedorComisiones As List(Of EseparacionVentaDetalle) = Nothing

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_separacionVenta_selXVendedorComisionVentas", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVenta.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVenta.idEtapa
                cmd.Parameters.Add("@filtro", SqlDbType.VarChar, 55).Value = filtro
                Try
                    cn.Open()
                    Using dr As SqlDataReader = cmd.ExecuteReader(CommandBehavior.SingleResult Or CommandBehavior.CloseConnection)
                        If dr.HasRows Then
                            vendedorComisiones = New List(Of EseparacionVentaDetalle)
                            Dim vendedorComision As EseparacionVentaDetalle = Nothing
                            Do While dr.Read
                                vendedorComision = New EseparacionVentaDetalle( _
                                   dr.GetInt64(dr.GetOrdinal("correlativo")), _
                                    dr.GetInt32(dr.GetOrdinal("idProyecto")), _
                                    dr.GetInt32(dr.GetOrdinal("idEtapa")), _
                                    dr.GetInt32(dr.GetOrdinal("idSeparacionVenta")), _
                                    dr.GetInt32(dr.GetOrdinal("idSeparacionVentaDetalle")), _
                                    dr.GetInt32(dr.GetOrdinal("idVendedor")), _
                                    dr.GetString(dr.GetOrdinal("nombre")), _
                                    dr.GetString(dr.GetOrdinal("apePaterno")), _
                                    dr.GetString(dr.GetOrdinal("apeMaterno")), _
                                    dr.GetInt32(dr.GetOrdinal("idTpoInmueble")), _
                                    dr.GetString(dr.GetOrdinal("descTpoInmueble")), _
                                    dr.GetInt32(dr.GetOrdinal("idEdiMzn")), _
                                    dr.GetString(dr.GetOrdinal("nomEdiMzn")), _
                                    dr.GetInt32(dr.GetOrdinal("idModelo")), _
                                    dr.GetString(dr.GetOrdinal("nomModelo")), _
                                    dr.GetString(dr.GetOrdinal("nroInmueble")), _
                                    dr.GetDecimal(dr.GetOrdinal("valorVenta")), _
                                    dr.GetDecimal(dr.GetOrdinal("comision")))
                                vendedorComisiones.Add(vendedorComision)
                            Loop
                            dr.Close()
                        End If
                    End Using
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return vendedorComisiones
    End Function


    '-------   REPORTE MENU - CONSULTAR VENTA DETALLE -------'
    Public Shared Function ReporteSeparacionDetalle(ByVal descEmpresa As String, ByVal pSeparacionVenta As EseparacionVenta) As List(Of EseparacionVentaDetalle)
        Dim ventaDetalles As List(Of EseparacionVentaDetalle) = Nothing

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_separacion_reporteDetalle", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVenta.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVenta.idEtapa
                'cmd.Parameters.Add("@idSeparacionVenta", SqlDbType.Char, 10).Value = pSeparacionVenta.idSeparacionVenta
                Try
                    cn.Open()
                    Using dr As SqlDataReader = cmd.ExecuteReader(CommandBehavior.SingleResult Or CommandBehavior.CloseConnection)
                        If dr.HasRows Then
                            ventaDetalles = New List(Of EseparacionVentaDetalle)
                            Dim ventas As EseparacionVentaDetalle = Nothing 'tipo 
                            Do While dr.Read
                                ventas = New EseparacionVentaDetalle( _
                                    dr.GetInt32(dr.GetOrdinal("idProyecto")), _
                                    dr.GetInt32(dr.GetOrdinal("idEtapa")), _
                                    dr.GetInt32(dr.GetOrdinal("idSeparacionVenta")), _
                                    dr.GetInt32(dr.GetOrdinal("idSeparacionVentaDetalle")), _
                                    dr.GetString(dr.GetOrdinal("nomEdiMzn")), _
                                    dr.GetInt32(dr.GetOrdinal("idModelo")), _
                                    dr.GetString(dr.GetOrdinal("nomModelo")), _
                                    dr.GetInt32(dr.GetOrdinal("idTpoInmueble")), _
                                    dr.GetString(dr.GetOrdinal("descTpoInmueble")), _
                                    dr.GetString(dr.GetOrdinal("nroInmueble")), _
                                    dr.GetDecimal(dr.GetOrdinal("valorVenta")), _
                                    dr.GetDecimal(dr.GetOrdinal("precioVenta")))
                                ventaDetalles.Add(ventas)
                            Loop
                            dr.Close()
                        End If
                    End Using
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return ventaDetalles
    End Function
    Public Shared Function ReporteVentaDetalle(ByVal descEmpresa As String, ByVal pSeparacionVenta As EseparacionVenta) As List(Of EseparacionVentaDetalle)
        Dim ventaDetalles As List(Of EseparacionVentaDetalle) = Nothing

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_venta_reporteDetalle", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVenta.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVenta.idEtapa
                'cmd.Parameters.Add("@idVendedor", SqlDbType.Int).Value = pSeparacionVenta.idVendedor
                'cmd.Parameters.Add("@idSeparacionVenta", SqlDbType.Char, 10).Value = pSeparacionVenta.idSeparacionVenta
                Try
                    cn.Open()
                    Using dr As SqlDataReader = cmd.ExecuteReader(CommandBehavior.SingleResult Or CommandBehavior.CloseConnection)
                        If dr.HasRows Then
                            ventaDetalles = New List(Of EseparacionVentaDetalle)
                            Dim ventas As EseparacionVentaDetalle = Nothing 'tipo 
                            Do While dr.Read
                                ventas = New EseparacionVentaDetalle( _
                                    dr.GetInt32(dr.GetOrdinal("idProyecto")), _
                                    dr.GetInt32(dr.GetOrdinal("idEtapa")), _
                                    dr.GetInt32(dr.GetOrdinal("idSeparacionVenta")), _
                                    dr.GetInt32(dr.GetOrdinal("idSeparacionVentaDetalle")), _
                                    dr.GetString(dr.GetOrdinal("nomEdiMzn")), _
                                    dr.GetInt32(dr.GetOrdinal("idModelo")), _
                                    dr.GetString(dr.GetOrdinal("nomModelo")), _
                                    dr.GetInt32(dr.GetOrdinal("idTpoInmueble")), _
                                    dr.GetString(dr.GetOrdinal("descTpoInmueble")), _
                                    dr.GetString(dr.GetOrdinal("nroInmueble")), _
                                    dr.GetDecimal(dr.GetOrdinal("valorVenta")), _
                                    dr.GetDecimal(dr.GetOrdinal("precioVenta")))
                                ventaDetalles.Add(ventas)
                            Loop
                            dr.Close()
                        End If
                    End Using
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return ventaDetalles
    End Function

    '-------   REPORTE MENU - CONSULTAR VENTA DETALLE TEMPORAL -------'
    Public Shared Function ReporteSeparacionDetalleTemporal(ByVal descEmpresa As String, ByVal pSeparacionVenta As EseparacionVenta) As List(Of EseparacionVentaDetalle)
        Dim ventaDetalles As List(Of EseparacionVentaDetalle) = Nothing

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_separacion_reporteDetalleTemp", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVenta.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVenta.idEtapa
                'cmd.Parameters.Add("@idSeparacionVenta", SqlDbType.Char, 10).Value = pSeparacionVenta.idSeparacionVenta
                Try
                    cn.Open()
                    Using dr As SqlDataReader = cmd.ExecuteReader(CommandBehavior.SingleResult Or CommandBehavior.CloseConnection)
                        If dr.HasRows Then
                            ventaDetalles = New List(Of EseparacionVentaDetalle)
                            Dim ventas As EseparacionVentaDetalle = Nothing 'tipo 
                            Do While dr.Read
                                ventas = New EseparacionVentaDetalle( _
                                    dr.GetInt32(dr.GetOrdinal("idProyecto")), _
                                    dr.GetInt32(dr.GetOrdinal("idEtapa")), _
                                    dr.GetInt32(dr.GetOrdinal("idSeparacionVenta")), _
                                    dr.GetInt32(dr.GetOrdinal("idSeparacionVentaDetalle")), _
                                    dr.GetString(dr.GetOrdinal("nomEdiMzn")), _
                                    dr.GetInt32(dr.GetOrdinal("idModelo")), _
                                    dr.GetString(dr.GetOrdinal("nomModelo")), _
                                    dr.GetInt32(dr.GetOrdinal("idTpoInmueble")), _
                                    dr.GetString(dr.GetOrdinal("descTpoInmueble")), _
                                    dr.GetString(dr.GetOrdinal("nroInmueble")), _
                                    dr.GetDecimal(dr.GetOrdinal("valorVenta")), _
                                    dr.GetDecimal(dr.GetOrdinal("precioVenta")))
                                ventaDetalles.Add(ventas)
                            Loop
                            dr.Close()
                        End If
                    End Using
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return ventaDetalles
    End Function
    '------------------------------------------------'

End Class
